风控系统设计总览
风控系统用于在交易执行过程中,根据预先设定的规则对交易进行判断。当交易满足某些风控条件时,系统将触发相应的风控措施,以控制资产风险并保障系统安全。
一、单个风控的组成
单个风控由 资产选择、风控规则、风控事件 三部分构成。
1. 资产过滤器
资产过滤器用于定义风控作用的对象范围,即对哪些资产或行为进行风控判断。
可选范围包括:
- 钱包的原生资产(如 SOL)
- 钱包内的代币资产
- 任意地址的原生资产或代币
- 指定程序(Program)
- 指定程序下的某个方法(Instruction)
2. 风控规则
风控规则用于定义如何判断资产行为是否存在风险。
常见规则包括但不限于:
- 单笔交易金额不得超过指定阈值
- 在某个时间周期内的交易总额不得超过指定阈值
- 在某个时间周期内的交易次数不得超过指定次数
- 其他自定义风控条件
3. 风控触发器
风控触发器用于定义当命中风控规则时系统应采取的处理措施。
可执行的风控触发器包括:
- 将交易转换为多签交易
- 锁定相关账户
- 拒绝并终止当前交易
二、风控执行流程
多个风控可以组合形成一个风控组。
每一条风控均由以下三部分组成:
资产选择 → 风控规则 → 风控事件
在交易执行过程中,系统会按照风控的配置顺序,依次对每一条风控进行判断。
执行流程如下:
- 交易发起后,系统开始依次执行风控组中的每条风控
- 若在执行过程中命中某条风控规则:
- 立即触发对应的风控事件
- 停止后续风控的执行
- 当前交易执行失败
- 若所有风控均未被命中:
- 风控流程结束
- 当前交易允许正常执行
三、设计特点
- 规则驱动:通过配置规则控制风控行为,避免硬编码
- 可组合:多条风控可灵活组合形成风控组
- 可扩展:资产选择、规则与事件均可独立扩展
- 确定性执行:风控按顺序执行,命中即终止,行为可预测